# -*- coding: utf-8 -*- 

###########################################################################
## Python code generated with wxFormBuilder (version Sep  8 2010)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################

import wx

###########################################################################
## Class MainFrameBase
###########################################################################

class MainFrameBase ( wx.Frame ):
	
	def __init__( self, parent ):
		wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"VK Audio Grabber v1.0", pos = wx.DefaultPosition, size = wx.Size( 647,763 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
		
		self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
		
		bSizer5 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_panel = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		bSizer2 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer4 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer8 = wx.BoxSizer( wx.HORIZONTAL )
		
		sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Параметры подключения" ), wx.HORIZONTAL )
		
		bSizer9 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer14 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText16 = wx.StaticText( self.m_panel, wx.ID_ANY, u"  *Логин:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText16.Wrap( -1 )
		bSizer14.Add( self.m_staticText16, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		self.m_text_login = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_text_login.SetToolTipString( u"Введите ваш логин вконтакте. (email)" )
		
		bSizer14.Add( self.m_text_login, 1, wx.ALL, 5 )
		
		bSizer9.Add( bSizer14, 1, wx.EXPAND, 5 )
		
		bSizer15 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText17 = wx.StaticText( self.m_panel, wx.ID_ANY, u"*Пароль:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText17.Wrap( -1 )
		bSizer15.Add( self.m_staticText17, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		self.m_text_pass = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_text_pass.SetToolTipString( u"Введите ваш пароль для доступа на сайт ВКонтакте." )
		
		bSizer15.Add( self.m_text_pass, 1, wx.ALL, 5 )
		
		bSizer9.Add( bSizer15, 1, wx.EXPAND, 5 )
		
		bSizer17 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText18 = wx.StaticText( self.m_panel, wx.ID_ANY, u" *App ID:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText18.Wrap( -1 )
		bSizer17.Add( self.m_staticText18, 0, wx.ALL, 5 )
		
		self.m_text_appid = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_text_appid.SetToolTipString( u"ID приложение через которое будут загружаться списки композиций. Для работы граббера необходимо создать тестовое desktop приложение:\n- Переходим по ссылке http://vkontakte.ru/apps.php?act=add\n    Вводим в поле \"Название\" любое название, например grabber\n    Нажимаем \"Перейти к загрузке\"\n- Переходим в \"Настройки\", копируем id приложения и вставляем в в VK Audio   Grabber\n- Переходим в \"Приложения\"->\"Администрирование\"->\"Настроить приложение\"\n   Ставим галочки напротив \"Разрешить приложению доступ к вашим друзьям\" и \"Разрешить приложению доступ к вашим аудиозаписям\"" )
		
		bSizer17.Add( self.m_text_appid, 1, wx.ALL, 5 )
		
		bSizer9.Add( bSizer17, 1, wx.EXPAND, 5 )
		
		sbSizer1.Add( bSizer9, 1, wx.EXPAND, 5 )
		
		bSizer8.Add( sbSizer1, 1, wx.ALL|wx.EXPAND, 5 )
		
		sbSizer2 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Укажите откуда скачивать:" ), wx.HORIZONTAL )
		
		bSizer18 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer162 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText192 = wx.StaticText( self.m_panel, wx.ID_ANY, u"   *Ваш ID:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText192.Wrap( -1 )
		bSizer162.Add( self.m_staticText192, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		self.m_text_uid = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_text_uid.SetToolTipString( u"Укажите ваш числовой ID ВКонтакте. \nПосмотреть можно на странице http://vkontakte.ru/settings.php в разделе \"Адрес вашей страницы\"" )
		
		bSizer162.Add( self.m_text_uid, 1, wx.ALL, 5 )
		
		bSizer18.Add( bSizer162, 1, wx.EXPAND, 5 )
		
		bSizer161 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText191 = wx.StaticText( self.m_panel, wx.ID_ANY, u"   ID друга:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText191.Wrap( -1 )
		bSizer161.Add( self.m_staticText191, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		self.m_text_fid = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_text_fid.SetToolTipString( u"Укажите ID друга ВКонтакте. Можно указать ссылку содержащую числовой ID" )
		
		bSizer161.Add( self.m_text_fid, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer18.Add( bSizer161, 1, wx.EXPAND, 5 )
		
		bSizer16 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText19 = wx.StaticText( self.m_panel, wx.ID_ANY, u" ID группы:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText19.Wrap( -1 )
		bSizer16.Add( self.m_staticText19, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		self.m_text_gid = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_text_gid.SetToolTipString( u"Укажите ID группы ВКонтакте. Можно просто вставить ссылку на группу" )
		
		bSizer16.Add( self.m_text_gid, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer18.Add( bSizer16, 1, wx.EXPAND, 5 )
		
		sbSizer2.Add( bSizer18, 1, 0, 5 )
		
		bSizer8.Add( sbSizer2, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer4.Add( bSizer8, 0, wx.EXPAND, 5 )
		
		sbSizer71 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Укажите директорию куда скачивать:" ), wx.VERTICAL )
		
		self.m_dirPicker = wx.DirPickerCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, u"Выберите папку", wx.DefaultPosition, wx.DefaultSize, wx.DIRP_DEFAULT_STYLE )
		self.m_dirPicker.SetHelpText( u"Укажите директорию куда будут скачиваться композиции. По умолчанию в текущую папку откуда запустили программу" )
		
		sbSizer71.Add( self.m_dirPicker, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer4.Add( sbSizer71, 0, wx.EXPAND|wx.ALL, 5 )
		
		sbSizer6 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Действия:" ), wx.HORIZONTAL )
		
		self.m_button_loadlist = wx.Button( self.m_panel, wx.ID_ANY, u"Загрузить список", wx.DefaultPosition, wx.DefaultSize, 0 )
		sbSizer6.Add( self.m_button_loadlist, 1, wx.ALL, 5 )
		
		self.m_button_grab = wx.Button( self.m_panel, wx.ID_ANY, u"Закачать!", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_button_grab.Enable( False )
		
		sbSizer6.Add( self.m_button_grab, 1, wx.ALL, 5 )
		
		self.m_button_stop = wx.Button( self.m_panel, wx.ID_ANY, u"Остановить", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_button_stop.Enable( False )
		
		sbSizer6.Add( self.m_button_stop, 1, wx.ALL, 5 )
		
		bSizer4.Add( sbSizer6, 0, wx.EXPAND|wx.ALL, 5 )
		
		bSizer20 = wx.BoxSizer( wx.HORIZONTAL )
		
		sbSizer7 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Исполнители:" ), wx.VERTICAL )
		
		m_checkList_artistChoices = [ u"нет" ];
		self.m_checkList_artist = wx.CheckListBox( self.m_panel, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,190 ), m_checkList_artistChoices, 0 )
		sbSizer7.Add( self.m_checkList_artist, 0, wx.ALL|wx.BOTTOM|wx.EXPAND, 5 )
		
		bSizer20.Add( sbSizer7, 1, wx.EXPAND|wx.ALL, 5 )
		
		sbSizer8 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Композиции:" ), wx.VERTICAL )
		
		m_checkList_songChoices = [ u"нет" ];
		self.m_checkList_song = wx.CheckListBox( self.m_panel, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,190 ), m_checkList_songChoices, 0 )
		sbSizer8.Add( self.m_checkList_song, 0, wx.ALL|wx.EXPAND, 5 )
		
		bSizer20.Add( sbSizer8, 1, wx.EXPAND|wx.ALL, 5 )
		
		bSizer4.Add( bSizer20, 0, wx.EXPAND, 5 )
		
		sbSizer9 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel, wx.ID_ANY, u"Ход закачки:" ), wx.VERTICAL )
		
		self.m_textCtrl_downProc = wx.TextCtrl( self.m_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( -1,70 ), wx.TE_MULTILINE|wx.TE_READONLY )
		sbSizer9.Add( self.m_textCtrl_downProc, 0, wx.ALL|wx.EXPAND, 5 )
		
		self.m_gauge = wx.Gauge( self.m_panel, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL )
		sbSizer9.Add( self.m_gauge, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer4.Add( sbSizer9, 0, wx.EXPAND|wx.ALL, 5 )
		
		bSizer_updates = wx.BoxSizer( wx.VERTICAL )
		
		self.m_link_update = wx.HyperlinkCtrl( self.m_panel, wx.ID_ANY, u"Обновлений пока нет", u"http://httpbots.com/ru/content/proekt-vk-audio-grabber", wx.DefaultPosition, wx.DefaultSize, wx.HL_DEFAULT_STYLE )
		bSizer_updates.Add( self.m_link_update, 1, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.EXPAND, 5 )
		
		bSizer4.Add( bSizer_updates, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.EXPAND, 5 )
		
		bSizer2.Add( bSizer4, 0, wx.EXPAND, 5 )
		
		self.m_panel.SetSizer( bSizer2 )
		self.m_panel.Layout()
		bSizer2.Fit( self.m_panel )
		bSizer5.Add( self.m_panel, 1, wx.EXPAND |wx.ALL, 0 )
		
		self.SetSizer( bSizer5 )
		self.Layout()
		self.m_menubar1 = wx.MenuBar( 0 )
		self.File = wx.Menu()
		self.m_menuItem_friends = wx.MenuItem( self.File, wx.ID_ANY, u"&Список друзей", wx.EmptyString, wx.ITEM_NORMAL )
		self.File.AppendItem( self.m_menuItem_friends )
		
		self.m_menuItem_exit = wx.MenuItem( self.File, wx.ID_ANY, u"&Выход", wx.EmptyString, wx.ITEM_NORMAL )
		self.File.AppendItem( self.m_menuItem_exit )
		
		self.m_menubar1.Append( self.File, u"&Файл" ) 
		
		self.Help = wx.Menu()
		self.m_menuItem_groupLink = wx.MenuItem( self.Help, wx.ID_ANY, u"&http://vkontakte.ru/club21835090", wx.EmptyString, wx.ITEM_NORMAL )
		self.Help.AppendItem( self.m_menuItem_groupLink )
		
		self.m_menuItem_site = wx.MenuItem( self.Help, wx.ID_ANY, u"&http://httpbots.com", wx.EmptyString, wx.ITEM_NORMAL )
		self.Help.AppendItem( self.m_menuItem_site )
		
		self.m_menuItem_about = wx.MenuItem( self.Help, wx.ID_ANY, u"&О программе", wx.EmptyString, wx.ITEM_NORMAL )
		self.Help.AppendItem( self.m_menuItem_about )
		
		self.m_menubar1.Append( self.Help, u"&?" ) 
		
		self.SetMenuBar( self.m_menubar1 )
		
		
		# Connect Events
		self.m_button_loadlist.Bind( wx.EVT_BUTTON, self.m_button_loadlistOnButtonClick )
		self.m_button_grab.Bind( wx.EVT_BUTTON, self.m_button_grabOnButtonClick )
		self.m_button_stop.Bind( wx.EVT_BUTTON, self.m_button_stopOnButtonClick )
		self.m_checkList_artist.Bind( wx.EVT_LISTBOX, self.m_checkList_artistOnCheckListBox )
		self.m_checkList_artist.Bind( wx.EVT_CHECKLISTBOX, self.m_checkList_artistOnCheckListBoxToggled )
		self.m_checkList_song.Bind( wx.EVT_CHECKLISTBOX, self.m_checkList_songOnCheckListBoxToggled )
		self.Bind( wx.EVT_MENU, self.m_menuItem_friendsOnMenuSelection, id = self.m_menuItem_friends.GetId() )
		self.Bind( wx.EVT_MENU, self.m_menuItem_exitOnMenuSelection, id = self.m_menuItem_exit.GetId() )
		self.Bind( wx.EVT_MENU, self.m_menuItem_groupLinkOnMenuSelection, id = self.m_menuItem_groupLink.GetId() )
		self.Bind( wx.EVT_MENU, self.m_menuItem_siteOnMenuSelection, id = self.m_menuItem_site.GetId() )
		self.Bind( wx.EVT_MENU, self.m_menuItem_aboutOnMenuSelection, id = self.m_menuItem_about.GetId() )
	
	def __del__( self ):
		pass
	
	
	# Virtual event handlers, overide them in your derived class
	def m_button_loadlistOnButtonClick( self, event ):
		event.Skip()
	
	def m_button_grabOnButtonClick( self, event ):
		event.Skip()
	
	def m_button_stopOnButtonClick( self, event ):
		event.Skip()
	
	def m_checkList_artistOnCheckListBox( self, event ):
		event.Skip()
	
	def m_checkList_artistOnCheckListBoxToggled( self, event ):
		event.Skip()
	
	def m_checkList_songOnCheckListBoxToggled( self, event ):
		event.Skip()
	
	def m_menuItem_friendsOnMenuSelection( self, event ):
		event.Skip()
	
	def m_menuItem_exitOnMenuSelection( self, event ):
		event.Skip()
	
	def m_menuItem_groupLinkOnMenuSelection( self, event ):
		event.Skip()
	
	def m_menuItem_siteOnMenuSelection( self, event ):
		event.Skip()
	
	def m_menuItem_aboutOnMenuSelection( self, event ):
		event.Skip()
	

###########################################################################
## Class AboutDialog
###########################################################################

class AboutDialog ( wx.Dialog ):
	
	def __init__( self, parent ):
		wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 557,401 ), style = wx.DEFAULT_DIALOG_STYLE )
		
		self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
		
		bSizer13 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_panel2 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		bSizer15 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer17 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_textCtrl8 = wx.TextCtrl( self.m_panel2, wx.ID_ANY, u"VK Audio Grabber v1.0\n\nАвтор: Разживин Александр\nОфициальный сайт: http://httpbots.com\nГруппа программы: http://vkontakte.ru/club21835090\nБлагодарю всех кто поддерживает меня! :)\n\nБуду рад любой помощи, особенно финансовой. Кушать тоже хочеться :-)\n    Я 41001573400455  (Яндекс деньги)\nWMR R176082383449  (WebMoney)\nWMZ Z571508886360   (WebMoney)\nИли кинуть смс-ку в мою копилку на сайте! :)\n-------------------------------------------------------------------------------\nCopyright (C) 2010 Alexander S. Razzhivin ( site http://httpbots.com )\n\nVK Audio Grabber v1.0 - выгружает аудиозаписи с сайта ВКонтакте.\n\nCopyright (C) 2010 Разживин А.С. \nhttp://httpbots.com admin@httpbots.com\n\n\nЭто программа является свободным программным обеспечением. Вы можете \nраспространять и/или модифицировать её согласно условиям Стандартной \nОбщественной Лицензии GNU, опубликованной Фондом Свободного Программного \nОбеспечения, версии 3 или, по Вашему желанию, любой более поздней версии. \nЭта программа распространяется в надежде, что она будет полезной, но БЕЗ \nВСЯКИХ ГАРАНТИЙ, в том числе подразумеваемых гарантий ТОВАРНОГО СОСТОЯНИЯ ПРИ \nПРОДАЖЕ и ГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОГО ПРИМЕНЕНИЯ. Смотрите Стандартную \nОбщественную Лицензию GNU для получения дополнительной информации. \nВы должны были получить копию Стандартной Общественной Лицензии GNU вместе \nс программой. В случае её отсутствия, посмотрите <http://www.gnu.org/licenses/>. ", wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE )
		bSizer17.Add( self.m_textCtrl8, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer15.Add( bSizer17, 1, wx.EXPAND, 5 )
		
		self.m_panel2.SetSizer( bSizer15 )
		self.m_panel2.Layout()
		bSizer15.Fit( self.m_panel2 )
		bSizer13.Add( self.m_panel2, 1, wx.EXPAND, 5 )
		
		self.SetSizer( bSizer13 )
		self.Layout()
		
		self.Centre( wx.BOTH )
	
	def __del__( self ):
		pass
	

###########################################################################
## Class FriendsDialog
###########################################################################

class FriendsDialog ( wx.Dialog ):
	
	def __init__( self, parent ):
		wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Список ID друзей", pos = wx.DefaultPosition, size = wx.Size( 421,274 ), style = wx.DEFAULT_DIALOG_STYLE )
		
		self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
		
		bSizer21 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_panel3 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		bSizer22 = wx.BoxSizer( wx.VERTICAL )
		
		sbSizer8 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel3, wx.ID_ANY, u"ID друзей:" ), wx.VERTICAL )
		
		self.m_listCtrl_fids = wx.ListCtrl( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES )
		sbSizer8.Add( self.m_listCtrl_fids, 1, wx.ALL|wx.EXPAND, 5 )
		
		bSizer22.Add( sbSizer8, 1, wx.EXPAND|wx.ALL, 5 )
		
		self.m_panel3.SetSizer( bSizer22 )
		self.m_panel3.Layout()
		bSizer22.Fit( self.m_panel3 )
		bSizer21.Add( self.m_panel3, 1, wx.EXPAND, 5 )
		
		self.SetSizer( bSizer21 )
		self.Layout()
		
		self.Centre( wx.BOTH )
		
		# Connect Events
		self.m_listCtrl_fids.Bind( wx.EVT_LIST_ITEM_SELECTED, self.m_listCtrl_fidsOnListItemSelected )
	
	def __del__( self ):
		pass
	
	
	# Virtual event handlers, overide them in your derived class
	def m_listCtrl_fidsOnListItemSelected( self, event ):
		event.Skip()
	

